import { getItemToken, setItemToken, removeItemToken } from '@/utils/storage'
import { getUserInfo } from '@/api/user'
const state = {
  // 从本地获取
  token: getItemToken(),
  // 把获取到的数据赋值给仓库
  userInfo: {}
}
const mutations = {
  setToken(state, value) {
    state.token = value
    // 因为刷新会丢失所以存储到本地存储 后续获取从本地获取
    setItemToken(value)
  },
  // 退出登录的时候，需要将token给删除掉
  removeToken(state) {
    // 清除token操作
    state.token = {}

    removeItemToken()
  },
  // 把请求的数据传递给仓库state
  setUserInfo(state, obj) {
    state.userInfo = obj
  }
}
// 处理异步ajax 请求
const actions = {
  async ayncGetUser(context) {
    const res = await getUserInfo()
    context.commit('setUserInfo', res.data)
  }
}
const getters = {}
export default {
  namespaced: true,
  state,
  mutations,
  actions,
  getters
}
